Web API Verification: Results and Challenges

نویسندگان

  • Arjun Guha
  • Benjamin Lerner
  • Shriram Krishnamurthi
چکیده

Modern Web applications use several APIs to build rich features. For example, the W3C Geolocation API provides access to a user’s physical location for location-based personalization, Facebook Connect provides a single sign-on service and access to a user’s social graph, Local Storage is a per-domain cache that enables offline access, and the Google Maps API allows applications to embed customized maps. Some of these APIs, such as Geolocation and Local Storage, are built into Web browsers, whereas others, such as Facebook Connect and Google Maps, are provided by Web services. These APIs are carefully crafted, since they give applications access to sensitive information. However, security bugs are constantly found that affect API providers, Web applications, and end users. Some APIs are security-specific. For instance, ADsafe [2] and Caja [6] are systems designed to securely sandbox content combined from non-mutually-trusting authors on a single Web page. Through a combination of static and runtime checks, these systems aim to provide certain security guarantees to the content and/or the hosting page. In such cases, where the authors may be actively malicious, verifying the APIs is critical. Other APIs were not designed with security in mind, but security concerns arose as they became widely implemented and programmers understood their full potential. Consider the XMLHttpRequest API, which allows JavaScript programs to send HTTP requests to Web servers. When first released, a malicious JavaScript program using XMLHttpRequest could trivially set special HTTP headers that caused Web servers to misinterpret requests. Web browsers now blacklist several headers. Mozilla Firefox has an Extension API, which thirdparty extensions use with great effect. However, third-party extensions run with the same privileges as Firefox’s code. Mozilla thus has an arduous, error-prone review process to vet extensions. In principle, these APIs are reference monitors, which should be small and verifiable. In practice, these APIs have several entry points with complex static and runtime checks, resulting in a large attack surface that a large attack surface, complex runtime checks, and several entry points that could be compromised. For example, the Firefox extension API has over 1, 000 types, some of which allow access to sensitive resources such as local files. ADsafe has only 1, 800 lines of code, but 95 runtime security checks. A missing or misused security check could compromise the safety of the entire system. Moreover, these APIs do not crisply state their security goals, which makes verification difficult. Designing and implementing these APIs securely, and verifying that this has been done, is hence an important challenge.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A model for specification, composition and verification of access control policies and its application to web services

Despite significant advances in the access control domain, requirements of new computational environments like web services still raise new challenges. Lack of appropriate method for specification of access control policies (ACPs), composition, verification and analysis of them have all made the access control in the composition of web services a complicated problem. In this paper, a new indepe...

متن کامل

Web Service Choreography Verification Using Z Formal Specification

Web Service Choreography Description Language (WS-CDL) describes and orchestrates the services interactions among multiple participants. WS-CDL verification is essential since the interactions would lead to mismatches. Existing works verify the messages ordering, the flow of messages, and the expected results from collaborations. In this paper, we present a Z specification of WS-CDL. Besides ve...

متن کامل

REST Web Service Maintenance Through API Policy Enforcement

Web services and cloud computing have revolutionized the way software is developed, deployed, and consumed. As a consequence, there has been a proliferation of web services, which developers make accessible to users via web application programming interfaces (web APIs) and cloud-based deployment technologies. Because this model significantly simplifies and expedites deployment of web APIs, it a...

متن کامل

Usability challenges for enterprise service-oriented architecture APIs

An important part of many programming tasks is the use of libraries and other forms of Application Programming Interfaces (APIs). Programming via web services using a Service-Oriented Architecture (SOA) is an emerging form of API usage. Web services in a business context (called enterprise SOA or E-SOA) add an additional complexity in terms of the number of the services, the variety of internal...

متن کامل

Trustable Remote Verification of Web Services

Service Oriented Architectures currently provide little or no evidence that each remote component has been implemented correctly. This is a problem for businesses hoping to exploit the potential benefits of SOA. We present a technique called Trustable Remote Verification, which lets providers create behavioural guarantees of their web services. Our approach is flexible, using Extended Static Ch...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012